package tool

import (
	"github.com/shopspring/decimal"
	"regexp"
)

var oneHundredDecimal decimal.Decimal = decimal.NewFromInt(100)

// 分转元
func Fen2Yuan(fen int64) float64 {
	y, _ := decimal.NewFromInt(fen).Div(oneHundredDecimal).Truncate(2).Float64()
	return y
}

// 元转分
func Yuan2Fen(yuan float64) int64 {

	f, _ := decimal.NewFromFloat(yuan).Mul(oneHundredDecimal).Truncate(0).Float64()
	return int64(f)

}

// 检测国内手机号格式
func VerifyMobileFormat(mobileNum string) bool {
	regular := "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"

	reg := regexp.MustCompile(regular)
	return reg.MatchString(mobileNum)
}

// 检测国外手机号格式
func VerifyForeignMobileFormat(mobileNum string) bool {
	regular := `(^[0-9]\d{3,15}$)`

	reg := regexp.MustCompile(regular)
	return reg.MatchString(mobileNum)
}

// 检测邮箱格式
func ValidateMailFormat(mail string) bool {
	//mail = strings.ToLower(mail) //小写

	pattern := regexp.MustCompile("^[\u4E00-\u9FA5_.A-Za-z0-9]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\\.){1,4}[a-z]{2,4}$") //匹配电子邮箱
	tf := pattern.MatchString(mail)

	//pattern := `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` //匹配电子邮箱
	//tf, _ := regexp.MatchString(pattern, mail)

	return tf
}
